package cn.biplam.common.wrapper.treeFlat.flat.callback;

import java.util.ArrayList;

/**
 *  树平面化数据的父亲们字段名称回调器<BR>
 *  默认父亲字段名的生成规则为:父亲字段的名称+节点级别
 *  
 * @author XiaoRuxing Nov 21, 20095:43:35 PM
 * @version 1.0
 */
public class ParentFieldNameCallbackDefault implements ParentFieldNameCallback{

	/**
	 *  获取父亲们ID字段名称
	 * @param treeDepth 树的深度
	 * @param parentFieldName 树形数据中父亲字段的名称
	 * @return 父亲们字段名称列表(一级父亲字段名称,二级父亲字段名称,三级父亲...depth级父亲)
	 */
	public ArrayList<String> getParentFieldNames(int treeDepth,
			String parentFieldName) {
		ArrayList<String> parentFieldNames = new ArrayList<String>();
		for(int i=0;i<treeDepth;i++){
			parentFieldNames.add(parentFieldName+i);
		}
		return parentFieldNames;
	}
	
	/**
	 *  获取父亲们名称字段名
	 * @param treeDepth 树的深度
	 * @param parentFieldName 树形数据中父亲字段的名称
	 * @return 父亲们字段名称列表(一级父亲字段名称,二级父亲字段名称,三级父亲...depth级父亲)
	 */
	public ArrayList<String> getParentNameFieldNames(int treeDepth,
			String parentFieldName) {
		ArrayList<String> parentFieldNames = new ArrayList<String>();
		for(int i=0;i<treeDepth;i++){
			parentFieldNames.add(parentFieldName+i+"_Name");
		}
		return parentFieldNames;
	}
	
	/**
	 *  获取父亲们字段中文名
	 * @param treeDepth 树的深度
	 * @param parentFieldName 树形数据中父亲字段的名称
	 * @return 父亲们字段名称列表(一级父亲字段名称,二级父亲字段名称,三级父亲...depth级父亲)
	 */
	public ArrayList<String> getParentCnNameFieldNames(int treeDepth,
			String parentFieldName) {
		ArrayList<String> parentFieldNames = new ArrayList<String>();
		for(int i=0;i<treeDepth;i++){
			parentFieldNames.add("级别"+i);
		}
		return parentFieldNames;
	}

}
